当前位置:  开发笔记 > 编程语言 > 正文

Python | 更改shell中的文本颜色

如何解决《Python|更改shell中的文本颜色》经验,为你挑选了3个好方法。

我想知道是否有人知道如何设置shell中显示的文本的颜色.我注意到'ls'在将信息打印到屏幕上时(在我的Linux机器上)使用了几种不同的颜色,想知道我是否可以在Python中利用它.



1> Dietrich Epp..:

使用Curses或ANSI转义序列.在开始喷射转义序列之前,您应该检查stdout是否为tty.你可以这样做sys.stdout.isatty().这是从我的项目中提取的函数,使用ANSI转义序列根据状态打印输出为红色或绿色:

def hilite(string, status, bold):
    attr = []
    if status:
        # green
        attr.append('32')
    else:
        # red
        attr.append('31')
    if bold:
        attr.append('1')
    return '\x1b[%sm%s\x1b[0m' % (';'.join(attr), string)


+1尤其适用于`sys.stdout.isatty()`
发现它 - debian以`expect_unbuffer`的名义将它隐藏在`expect-dev`中

2> Kostanos..:

我刚才描述了很受欢迎的库克林特.除了对终端输出着色之外,还有更多功能.

顺便说一句,它支持MAC,Linux和Windows终端.

以下是使用它的示例:

安装(在Ubuntu中)

pip install clint

为某些字符串添加颜色

colored.red('red string')

示例:用于颜色输出(django命令样式)

from django.core.management.base import BaseCommand
from clint.textui import colored


class Command(BaseCommand):
    args = ''
    help = 'Starting my own django long process. Use ' + colored.red('+c') + ' to break.'

    def handle(self, *args, **options):
        self.stdout.write('Starting the process (Use ' + colored.red('+c') + ' to break)..')
        # ... Rest of my command code ...



3> Matthew Flas..:

所有主要颜色代码均在https://www.siafoo.net/snippet/88上提供


本网站的安全证书已过期.任何人都可以验证这是一个安全的网站吗?
推荐阅读
雨天是最美
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有